Request Training

ThinkLABS offers range of workshops for robotics enthusiasts, amateurs and hobbyists alike. Our workshops come fully equipped with ThinkLABS kits and are taken by experienced personnel in robotics field.If you want to organise a Robotics Workshop in your College or School, then feel free to drop us email at workshop@thinklabs.in

Roboshop@Campus

Need some parts or components? Is your local shop not able to fulfil your requirement or consistently out of stock ? We will help you setup a ROBOSHOP/ROBOLAB at your desk.For more details send us email at roboshop@thinklabs.in

ThinkLABS Updates

Subscribe for robotics workshops and event schedule
Email address:


SMS updates on robotics event
Mobile Number:


ThinkLABS Calendar

Advanced Diploma in Real Time Embedded Systems

SocialTwist Tell-a-Friend

Free Seminar on Career Opportunities in Embedded Systems.
to register Click Here>>


To get scholarship for this course Click Here>>

Register now Untitled Document

ThinkLABS comes up with an advanced course on Embedded and Real Time Systems Programming realising the dominance of ARM architecture and Embedded Linux OS, which have become the buzz words in the embedded industry. The advanced course is meant to provide an indepth knowledge of these platforms in addition to those covered during ERTOS, with a stronger emphasis on software engineering practices.


Batches starting every month . Typical duration 5 months.


Highlights of the Course:

  • 500 hours of practical training accompanied with industry defined projects.
  • Extensive use of open source development tools (hardware and software) which are conducive to learning.
  • Focus on Embedded software which is the most emerging domain in the IT/Embedded industry.
  • Hardware developed inhouse by the ThinkLABS team.
  • Case studies / assignments based on modules encountered in live projects undertaken by the ThinkLABS team.
  • Projects developed during the course are hosted online (http://code.google.com/p/uniboard/) and go on to become a part of the open source resource pool.
  • Candidates will have to clear a screening test to get inducted for the course. The screening test will be based on basic electronics, microprocessors, microcontrollers, C programming and aptitude. Scholarship for merit list students of enrollment exam.
  • Placement Assistance in Leading Embedded Companies

Course benefits:

  • In-depth knowledge of embedded software and RTOS programming
  • Opportunity to get into top notch embedded companies (R&D)
  • First hand prospect of working on high end projects
  • Chance to become a potential embedded geek

Register now

Pre-requisites:

  • Knowledge of C programming
  • Exposure to microcontrollers and basic electronics
  • Knowledge of Operating system concepts would be an added advantage

Interested candidates will have to clear a screening test to get inducted for the course. The screening test will be based on basic electronics, microprocessors, microcontrollers, C programming and aptitude.


Target Audience:

  • Final/pre-final year students of B.E/B.Tech/ME/B.Sc/M.Sc
  • Embedded system enthusiasts (undergrads, pass-outs)

Course Details
Elaborate and module wise description of the course can be found below:

      • Fundamentals of Embedded system
        • Introduction to Embedded systems
        • Exposure to different architectures (RISC vs. CISC)
        • Why AVR? (Advantages, philosophy, architecture)
        • Board details and specifications (ATMega128 based development board)
        • Understanding system clock and fuse bits
        • Introduction to Linux and various distributions
        • GNU Project and Free Software Foundation (FSF) philosophy
        • Using various utilities like avr-gcc, avrdude, avr-binutils under Linux
        • Using linux terminal
      • Embedded C Programming
        • Using Gedit as a programmers editor
        • Working with Make files
        • Configuring Gtkterm for serial data handling (UART)
        • Understanding AVR instruction set
        • Assembly vs. C
        • C programming for AVR
          • Introduction to C, Flow control statements, functions
          • Data Types, operators and expressions
          • Variable scope, Qualifiers (Volatile) and modifiers
          • Program structures
            • Initialization
            • Recursion
            • Pre-processor directives (#define (macros), enum, #include, conditional compilation)
            • Inline assembly and why it is required
            • Macros vs. functions
          • Pointers, Arrays, Structures
          • Determining Endianess of processors and why it matters
          • Implementing basic data structures like stacks, queues using above concepts

      • Exploring controller specific features under Embedded C
        • Exploring microcontroller board features
          • Configuring ports and controlling their status
          • Interrupts and timers
          • Polling vs. Interrupt driven approaches
        • Memory and device Interfacing
          • PWM & ADC based applications
            • Interfacing motors and implementing speed control
            • Sensor interfacing and sampling
          • Supported communication protocols
            • UART (RS-232)
            • I2C
            • SPI
          • Reading and writing EEPROM
        • Boot-loader and its advantages
      • RTOS porting and application development
        • Real time system concepts (OS vs. RTOS)
        • Need for an RTOS/scheduler
        • Identifying RTOS components
        • Target RTOS (uC/OS-II) kernel architecture
        • Porting RTOS to our target board (Atmega 128)
        • Running demo applications
        • Understanding firmware and device drivers
        • Developing libraries and applications
          • Multi-tasking
          • Using IPC (Inter-process communication) mechanisms like mail boxes
          • Using semaphores and mutexes
          • Using priority inheritance under mutexes to avoid priority inversion
          • UART and LCD library
          • Encapsulating shared resources

      Register now

      • ARM architecture programming
        • Introduction to ARM (ARM7/ARM9)
        • ARM processor architecture
        • ARM programming model (Instruction set and assembly language programming
        • Exception handling
        • ARM procedure call standards
        • Introduction to THUMB instruction set
        • Mixed C and assembly programs
        • ARM optimisation techniques
      • Embedded Linux programming
        • Introduction to ARM (ARM7/ARM9)
        • Process management and scheduling
        • Types of signals and signal handling
        • Interprocess communication using shared memory, pipes, message queues
        • POSIX threads and multithreaded architecture
        • Synchronisation primitives (Semaphores and its types)
        • Socket programming
        • Kernel compilation and porting on ARM9 based target hardware
        • Sample embedded Linux application development
        • Device drivers in Linux
      • Seminar and Project work
        • Seminar includes case study on popular applications, alternative approaches for real time problems, exploring scope of technologies which are currently under research, discussing standards
        • Project work includes demonstrating a live prototype based on any proposed idea/module relevant to the topics covered and preferably an application of the courses undertaken with emphasis on software engineering practices

        Register now